package com.wx.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wx.convert.LocalDateTimeConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@ApiModel(value = "新入组统计")
public class NewJoinGroupStatistics implements Serializable {

    private static final long serialVersionUID = -3776784108098142437L;

    @ExcelProperty(value = "护士姓名", index = 0)
    @ColumnWidth(value = 25)
    @ApiModelProperty(value = "护士姓名")
    private String nurseName;

    @ExcelProperty(value = "患者姓名", index = 1)
    @ColumnWidth(value = 25)
    @ApiModelProperty(value = "患者姓名")
    private String patientName;

    @ExcelProperty(value = "icf编码", index = 2)
    @ColumnWidth(value = 25)
    @ApiModelProperty(value = "icf编码")
    private String icfCode;


    @ExcelProperty(value = "患者手机号码", index = 3)
    @ColumnWidth(value = 25)
    @ApiModelProperty(value = "患者手机号码")
    private String phone;

    @ExcelProperty(value = "患者身份证号", index = 4)
    @ColumnWidth(value = 25)
    @ApiModelProperty(value = "患者身份证号")
    private String idNum;

    @ExcelProperty(value = "年龄", index = 5)
    @ColumnWidth(value = 25)
    private String age;

    @ExcelProperty(value = "体重", index = 6)
    @ColumnWidth(value = 25)
    private String weight;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ExcelProperty(value = "首次随访时间", index = 7,converter = LocalDateTimeConverter.class)
    @ColumnWidth(value = 25)
    private LocalDateTime firstFollowTime;

    /**
     * 居住城市
     */
    @ApiModelProperty(value = "入组省份Id")
    @ExcelIgnore
    private String joinProvinceId;

    /**
     * 入组城市名称
     */
    @ApiModelProperty(value = "入组省份名称")
    @ExcelProperty(value = "入组省份", index = 8)
    @ColumnWidth(value = 25)
    private String joinProvinceName;

    /**
     * 居住城市
     */
    @ApiModelProperty(value = "入组城市Id")
    @ExcelIgnore
    private String joinCityId;

    /**
     * 入组城市名称
     */
    @ApiModelProperty(value = "入组城市名称")
    @ExcelProperty(value = "入组城市", index = 9)
    @ColumnWidth(value = 25)
    private String joinCityName;


    /**
     * 当前入组医院名称
     */
    @ApiModelProperty(value = "当前入组医院名称")
    @ExcelIgnore
    private String hospitalId;

    /**
     * 当前入组医院名称
     */
    @ApiModelProperty(value = "当前入组医院名称")
    @ExcelProperty(value = "医院", index = 10)
    @ColumnWidth(value = 25)
    private String hospitalName;

    /**
     * 目前治疗药物
     */
    @ApiModelProperty(value = "目前治疗药物")
    @ExcelProperty(value = "目前治疗药物", index = 11)
    @ColumnWidth(value = 25)
    private String currentTreatmentDrugs;

    /**
     * 当前治疗方案 0：按需治疗 1:预防治疗 2:其他
     */
    @ApiModelProperty(value = "当前治疗方案 0：按需治疗 1:预防治疗 2:其他")
    @ExcelProperty(value = "当前治疗方案", index = 12)
    @ColumnWidth(value = 25)
    private String treatmentPlan;

    /**
     * 目前治疗剂量
     */
    @ApiModelProperty(value = "目前治疗剂量")
    @ExcelProperty(value = "目前治疗剂量", index = 13)
    @ColumnWidth(value = 25)
    private String dosage;

}
